package domein;

import java.util.List;

import persistentie.Mapper;
import persistentie.MapperFactory;
import persistentie.SoortMapper;

public class School
{
	
	private List<Student> studentLijst;
	private Mapper<Student> mapper;

	// een setterinjection mogelijk maken.
	public void setMapper(Mapper<Student> mapper)
	{
		this.mapper = mapper;
	}
	
	// lazy loading, 
	private void studentenOpvragen()
	{
		if(mapper == null)
			mapper = MapperFactory.geefMapper(SoortMapper.STUDENT);
		studentLijst = mapper.geefLijst();
			
	}

	public int aantalStudenten() {
		if(studentLijst == null)
			studentenOpvragen();
		return studentLijst.size();
	}

	public Student geefStudent(Integer index) {
		if(studentLijst == null)
			studentenOpvragen();
		return studentLijst.get(index);
	}

}
